Video on demand (VOD) services involves delivery of a plurality of articles of digital video content from one or more storage devices to a plurality of viewers, usually substantially concurrently, wherein each viewer is generally capable of selecting the digital video article for viewing, the viewing schedule and/or the duration of the viewing. For example, one type of VOD service may be the delivery of movies to home subscribers over a network, e.g., an Asymmetric Digital Subscriber Line (ADSL) network, by a television over Internet Protocol (IPTV) service provider. The digital representation of an article of digital video content is referred to as a “stream” and delivery of a stream over a network while it is being viewed is referred to as “streaming” the content to a viewer's computing device, e.g., a set-top box.
Generally, the rate with which information may be delivered over any network is limited, where the maximum rate of information is referred to as the “capacity” or “maximum bandwidth” of the network. In a VOD network, each item of content is delivered at a delivery rate that may be constant or may vary. The instantaneous rate is referred to as the ‘bitrate’ of the stream. The total bitrate for the entire VOD network at any moment is equal to the sum of the instantaneous bitrates of all the streams being delivered at that time.
If, at any given time, the total bitrate exceeds the maximum bandwidth of the network, information will be discarded from one or more of the streams, thereby resulting in visible and/or audible artifacts for at least the duration of the excess. It will be understood that the total bitrate of the system may depend on the instantaneous bitrates of the content demanded by viewers and the timing of their selection. Thus, for example, if a large number of users request video content, each request having a high bitrate, the total bitrate of the VOD network will be high. Alternately, for example, if a small number of users request video content, each request having a low bitrate, the total bitrate of the VOD network will be low. Therefore, while the total bitrate of the system is an important parameter in designing and operating a VOD system, variables that determine the total bitrate, e.g., bitrate of video requests and timing of the requests, are generally unpredictable.
In many VOD networks, video streams have substantially the same bitrate, and the bitrate for each stream may remain constant over time. Accordingly, the total bitrate of the system may depend strongly on the timing of viewer requests, which may be a function of subscriber viewing patterns. This observation has led some VOD operators to plan systems around such viewing patterns. For example, viewer demand may tend to reach maximum levels during certain days or the week, e.g., weekends, or during certain times of day, e.g., evening hours, as these are leisure hours, thereby generally requiring higher total bitrate; whereas viewer demand may tend to wane during working hours, thereby generally requiring lower total bitrate. Nevertheless, despite such expected patterns, it may be difficult to estimate with sufficient accuracy the instantaneous total bitrate of a VOD system at any time.
In some VOD systems, in order to avoid the loss of information when the demand for content is high, a strategy known in the art as network over-provisioning may be applied. According to such an approach, the maximum bandwidth of the network may be designed to be higher than the maximum expected total bitrate. However, this usually entails a significant financial investment in the network infrastructure or a compromise on the bitrates of the streams that will be delivered. According to another solution, known as selective denial-of-service, the total bitrate may be monitored and, when it reaches a number sufficiently near the maximum bandwidth of the network, all further requests for content by viewers are denied. If this policy is applied too often in a commercial VOD service, customers will be dissatisfied by the inability to get video “on demand” and may abandon the service. Each of these systems (and their combination) is an unsatisfactory solution.
A processing technique, known as “transrating” or “transcoding”, can be applied to a compressed digital video content item during streaming in order to reduce the instantaneous bitrate of the stream that will be delivered over a network. Transcoding may degrade the perceived quality of the video item eventually displayed to the viewer with respect to the item as originally transmitted. Moreover, the degradation in quality may increase as the reduction in rate is increased. However, there are methods known in the art for mitigating the impact of transcoding on perceived quality based on the complexity of the video and known behavior of the human perceptive system.
A related method used in this field is referred to as statistical multiplexing, which may be applied to the delivery of a predetermined set of live TV channels over a satellite network. Using this method, a transcoder may be assigned to each stream for bitrate reduction. The transcoders may also provide information regarding the complexity of the streams to a controller. The controller may then dynamically assign allowable bitrate to each transcoder based on the stream relative complexity such that the total bitrate does not exceed the maximum bandwidth of the network.
Statistical multiplexing may not fit VOD services because, unlike the live TV broadcast scenario, the on-demand scenario may require the delivery of an unpredictable number of streams at one time. Moreover, the number of streams may not be constant and may reach as many as a few thousand, whereas statistical multiplexing is typically used for satellite transponders to multiplex approximately 10-15 channels. Therefore, the cost of allocating a transcoder for each of the maximum number of streams in a VOD system may be prohibitively high.
It is an object of the embodiments of the invention, therefore, to provide a feasibly priced apparatus, system and method for delivery of a variable number of video streams having relatively low video quality degradation and/or low denial-of-service rates.